package red.stu.pconstraint.annotation;

import java.lang.annotation.*;

/**
 * 流程约束Mapper文件资源 <br/>
 *      - {@link #resource()}和{@link #url()}只能指定任意其中一个；
 *          如果同时存在优先使用{@link #resource()} <br/>
 *
 *      - 如果和{@link ProcessConstraint 注解}在同类上，则表示流程约束对应的Mapper文件资源
 *
 * @author yihrmc @stu.red
 * @date 2019/11/14 15:17
 * @see ProcessConstraint
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface FileResource {

    @AliasFor("resource")
    String value() default "";

    /**
     * mapper文件的resource中的位置
     * @return
     */
    @AliasFor("value")
    String resource() default "";

    /**
     * mapper文件的url
     * @return
     */
    String url() default "";

}

